iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Mobile Development

開除老闆計劃系列 第 3

[DAY-03] 技術選擇 – Next.js / Nest.js / MongoDB / MiniO / Zeabur

  • 分享至 

  • xImage
  •  

在開始動工之前,最重要的就是決定要用什麼技術。選擇很多,我個人是覺得沒有最好的方案,只有最適合的方案。就像是如果你有經驗去公司上班,專案用的技術都很舊了,你可能會覺得為什麼寫得這麼爛用這麼久的技術。但可能是在那樣的時空背景下,那是最適合的技術方案。

這次的計劃目標要 快、低成本、能快速驗證市場,盡可能的快速打造可行的MVP。還有一個重要的點就是,不要花太多錢!所以選了這一套:Next.js / Nest.js / MongoDB / MiniO / GitHub Actions / Zeabur

Next.js – 前端框架

前端我選用 Next.js。為 PWA 是我一開始的策略,而 Next.js 本身就支援 SSR / SSG,SEO 表現比傳統 SPA 好太多,對需要流量的產品來說很關鍵。如果你是做部落格或是產品介紹賣東西的官網,那就很適合。那我要推薦我的APP產品也是一種產品。

它還有內建路由、API Routes、Image 最佳化,幾乎就是拿來做 MVP 的快速框架。加上配合 next-pwa,就能直接做成接近原生APP的體驗,打開瀏覽器就能用。

Nest.js – 後端框架

Next Nest 傻傻分不清,我自己也常常搞錯。這次後端我選了 Nest.js。雖然 Nest.js 框架很複雜規範很多,但剛好相反,如果使用AI來 coding,他剛好可以照著這些規範寫出還不錯的 code。也可能我後端比較沒這麼熟悉,看不太出來好壞?

但以我自己用 vibe coding 來寫 nest.js 的經驗,我覺得因為 nest 把 controller service 還有 model 分的很細,我覺得算是還不錯乾淨。至少未來我要自己寫的話,應該是不至於太混亂一團改不動。

MongoDB – 資料庫

其實資料庫選 MongoDB,理由很簡單,因為我最熟悉,用過最多次。而且用 Vibe coding 應該也會一直改來改去,原本這樣寫後來又想說換個方式寫。畢竟我是一個三心二意的人,不排除一直修改。我覺得 MongoDB 可以承受這種隨心所欲地亂改。

再來就是,其實我覺得對於想要快速做出MVP,其實用後端套件CRUD裡論上不管用什麼資料庫感覺應該都一樣。

MiniO – 檔案儲存

可能大家不太知道 MiniO是什麼,其實就是類似 AWS S3的東西,是一種開源軟體。基本上做一個 APP脫離不了要找地方放圖片或檔案之類的。但我們的主要任務和宗旨就是花最少的錢,可以的話不要花錢。 AWS S3 雖然好用,雖然不放什麼東西用不了多少錢,但也是要錢。但如果自己架的話就不用錢了,何況還在MVP階段,未來如果要轉到S3難度也不會太高。

因為 MiniO 設定其實和 S3是一樣的,不過最近有一些S3開源的新聞,之後再來說。

CI/CD

CICD一定要的吧!不管是部署還是測試,可以自動化就自動化,畢竟我們沒有這麼多時間做這些瑣碎的事。這個就還好,用 github action就可以搞定。

Zeabur – 部署平台

最後是部署平台,我使用 Zeabur。有一次去遊牧工作者年會,聽到演講者在介紹 zeabur,其實他在講 n8n,然後可以架在上面,一個月只要五美金。我覺得還不錯,雖然我不是用 n8n。
Zeabur 直接支援前端、後端、資料庫一鍵上線,加上和 GitHub Actions 結合,很適合我的需求。費用也比自己開 EC2 便宜,對 Side Project 很友善。

順便打一下廣告,如果你對 zeabur也有興趣,可以用我的推薦連結註冊喔!一起賺五美金!

https://zeabur.com/referral?referralCode=gh286991

為什麼不是其他技術?

像是前端,很多人會覺得:「欸,你不是要做 App?為什麼不用 React Native 或 Flutter?」

老實說,我也覺得寫APP現在就要用最潮的 Flutter啊。React Native 我也比較熟悉。但問題來了:如果走原生 App,就要先付 Apple 開發者帳號費用(每年 99 美金),還得花時間跑上架審核流程。每次改版都要等,對 MVP 來說實在太慢。99美金 我還沒賺錢就先花錢了,而且也不能隨時就給朋友測試。

PWA其實就是網頁,寫好丟上去就能用,除了有SEO頁面可以有自然流量,網頁可以直接用不用再去下載APP,對快速驗證市場來應該比較快吧。

未來也會想開發成APP上架,最快最快的方法就是直接用 webview套。之後有想要再寫一份 flutter取代。

至於部署,使用 AWS EC2 感覺比較厲害,去面試也講得出口,但仔細想想,Side Project 的重點是「快」而不是「厲害」。Zeabur 其實真的滿快的,可以直接連結專案直接部署上去,還有網域可以先用。

結論

所以最後我的選擇就是:
Next.js + Nest.js + MongoDB + MiniO + GitHub Actions + Zeabur

這套組合,能讓我用最少的時間,把產品做出來,上線驗證,還能透過 SEO 把使用者吸進來,這是我最初期的想法。對「開除老闆計畫」來說,這就是最實際的武器。

如果你好奇 30 天的創業APP可以成功賺到錢嗎?請務必訂閱 + 按讚 + 開啟小鈴鐺,並在下方留言區簽到,告訴我你已經置好板凳等著看老闆被開除了!


上一篇
[Day-02] 技術這麼多,我為什麼放棄原生選 PWA?
系列文
開除老闆計劃3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言